1. Field of the Invention
This invention relates in general to a networks, and more particularly to method and apparatus for adjustment of TCP sliding window with information about network conditions.
2. Description of Related Art
Today, an organization's computer network has become its circulatory system. Organizations have combined desktop work stations, servers, and hosts into Local Area Network (LAN) communities. These Local Area Networks have been connected to other Local Area Networks and to Wide Area Networks (WANs). It has become a necessity of day-to-day operation that pairs of systems must be able to communicate when they need to, without regard to where they may be located in the network.
During the early years of network computing, proprietary networking protocols were the standard. However, the development of the Open Systems Interconnection Reference Model introduced by the International Organization for Standardization (ISO) has led to an impressive degree of interworking, which generally allows end-user applications to work very well between systems in a network. Implementations are based on written standards that have been made available by volunteers from dozens of computer vendors, hardware component vendors and independent software companies.
During the last decade, LANs have been proliferating. This has created a recurring problem of how to minimize congestion and optimize throughput that must be solved by network managers. An early solution was to simply divide Local Area Networks into multiple smaller networks serving smaller populations. These segments were connected by bridges to form a single Local Area Network with traffic being segregated locally to each segment.
The evolution of new network types and Wide Area Networks created a need for routers. Routers added filtering and firewalling capability to provide more control over broadcast domains, limit broadcast traffic and enhance security. A router is able to chose the best path through the network due to embedded intelligence. This added intelligence also allowed routers to build redundant paths to destinations when possible. Nevertheless, the added complexity of best path selection capability accorded by the embedded intelligence increased the port cost of routers and caused substantial latency overhead. Shared-media networks comprising distributed client/server data traffic, expanded user populations and more complex applications gave birth to new bandwidth bottlenecks. Such congestion produced unpredictable network response times, the inability to support the delay-sensitive applications and higher network failure rates.
An Internet is a set of networks connected by gateways, which are sometimes referred to as routers. The Internet Protocol (IP) is a network layer protocol that routes data across an Internet. The Internet Protocol was designed to accommodate the use of host and routers built by different vendors, encompass a growing variety of growing network types, enable the network to grow without interrupting servers, and support higher-layer of session and message-oriented services. The IP network layer allows integration of Local Area Network "islands".
Transmission Control Protocol (TCP) is a part of the TCP/IP protocol family that has gained the position as one of the world's most important data communication protocols with the success of Internet. To put it short, TCP provides a reliable data connection between devices using TCP/IP protocols. TCP operates on top of IP that is used for packing the data to data packets, called datagrams, and for transmitting across the network.
However, IP doesn't contain any flow control or retransmission mechanisms. That is why TCP is typically used on top of it. Especially, TCP uses acknowledgments for detecting lost data packets.
TCP/IP networks are nowadays probably the most important of all networks, and operate on top of several (physical) networks. These underlying networks may offer some information about the condition of network and traffic. This kind of information is herein referred to as FeedBack (FB) information. This knowledge can be used to better adjust the transmission of the source.
For example, a Simple Integrated Media Access (SIMA) network, as described in co-pending and commonly assigned U.S. patent application Ser. No. 08/821,273, filed Mar. 20, 1997 and entitled "NOMINAL BIT RATE NETWORK SERVICE", which application is hereby incorporated by reference, can provide the source with information about the poorest still acceptable priority level in the network. This system uses priority level feedback as described in co-pending and commonly assigned U.S. patent application Ser. No. 08/821,222, now U.S. Pat. No. 6,041,039 filed Mar. 20, 1997 and entitled "SYSTEM AND METHOD FOR DETERMINING NETWORK BANDWIDTH AVAILABILITY USING PRIORITY LEVEL FEEDBACK", which application is hereby incorporated by reference. Those skilled in the art will recognize that SIMA has also been known as Nominal Bit Rate (NBR) service or Unspecified Bit Rate with Priorities (UBR-P).
The problem arises if PB information is used with an existing TCP source. The most straightforward way seems to be to modify the existing TCP protocol stack and implementation in the source. However, modifying the existing TCP protocol stack and implementation in the source is not always convenient, since the number of different TCP implementations is huge. Furthermore, such a solution is tied with the properties of a certain network under TCP/IP.
It can be seen then that there is a need for a method and apparatus for obtaining information from the network below TCP about the condition of the network and traffic and uses this information to control the transmission of the TCP source.
It can also be seen that there is a need for a method and apparatus for controlling the transmission of the TCP source without any modifications to the existing TCP sources.